Irrigation controller having multiple cancel modes invoked by depressing single key

ABSTRACT

An irrigation controller having multiple cancel modes invoked by depression of a single key. When no watering is taking place, a single depression of the key will cancel all watering scheduled to take place on the day the key is depressed. Two successive depressions of the key when no watering is taking place will cancel all scheduled watering. A single depression of the key while watering is taking place will cancel just the watering which is taking place, not the watering scheduled to thereafter take place on that or any subsequent day.

This is a division of co-pending application Ser. No. 237,658 filed on8/25/88, now U.S. Pat. No. 4,852,051 which was a file wrappercontinuation of application Ser. No. 888,621 filed July 18, 1986, nowabandoned; which was a continuation of application Ser. No. 581,030,filed Feb. 17, 1984, now abandoned.

BACKGROUND OF THE INVENTION

The present invention relates to controllers for irrigation systems, ingeneral, and, more particularly, to irrigation system controllersemploying solid state logic and control circuitry.

Reference is made to U.S. Pat. No. 4,165,532. entitled "AutomaticIrrigation Sprinkler System Controller" by T. L. Kendall, et al. and toU.S. Pat. No. 4,189,776, entitled "Simplified Irrigation Controller, byT. L. Kendall, both of which patents are assigned to the common assigneeof this application. In each of these patents there is described a solidstate controller for the operation of irrigation systems. The solidstate controller described in U.S. Pat. No. 4,165,532 is particularlyadapted for large commercial irrigation systems such as those employedin parks, golf courses, and the like. Accordingly, the input keyboardand the logic sequences incorporated therein are adapted to provide theoperator with a wide selection of features. Start times, run times, andthe like are directly input as alpha-numeric data through the keyboardwhich incorporates a plurality of keys for the input of such data.

The advantages attendant to such automated programmable solid statecontrollers are of equal benefit to the typical homeowner. The timenormally devoted to the diligent watering of lawn and plant areas can bea major consideration to a homeowner. This is particularly true when thehomeowner wishes to be gone for extended periods of time whereinarrangements must be made, with attendant cost, for someone to come into perform the watering chores normally accomplished by the homeowner.While the benefits of an automatic controller for the home irrigationsystem are apparent, these benefits usually do not justify the expenseof a complicatad professional controller such as described in the patentnoted above.

In U.S. Pat. No. 4,189,776, there is described a simplified solid stateirrigation controller particularly adapted for low cost availability tothe non-professional user. This patent describes a simple step-by-stepmethod for changing the start times, runtimes and active days forindividual watering stations within the controller. Once thisinformation has been selected and placed within the memory of thecontroller, however, the controller is not flexible enough to permit anindividual watering station to be turned on for a single selected daywithin a fourteen-day cycle, for example.

SUMMARY

This invention is directed to a unique irrigation controller systemwhich offers the user more flexibility over an individual wateringstation. The system is composed of solid state circuitry using the inputpanel of U.S. Pat. No. 4,189,776 and an improved logic arrangement toeffect a more flexible and precise control over a large number ofindividual watering stations.

More particularly, the system permits a large number of wateringstations to be selectively activated over an extremely wide range oftimes and durations. For example, an individual station can be activatedon a rather frequent basis, six times a day, or on an infrequent basis,once every fourteen days. The system is adapted for several sequences,time schedules, or the like.

The system permits the operator to select the day, the start time ortimes, and the run time each individual station is activated. Once thesystem is activated, an automatic mode of operation can be followedwherein virtually any sequence of activated stations, days, and starttimes can be produced. Of course, manual control and/or override is alsopossible as is selective alteration or interruption of the systemoperation.

DESCRIPTION OF THE DRAWINGS

FIG. 1 is a representation of the simplified input panel associated withthe controller of the instant invention.

FIGS. 2A through 2J depict the configuration of the display portion ofthe input panel of FIG. 1 during various stages of the system operation.

FIG. 3 is a dimensional, graphic representation of the flexible systemoperation permitted by the controller of the instant invention.

FIGS. 4A through 4L collectively represent a flow chart depicting theoperating sequences incorporated in the present invention wherein:

FIG. 4A is the initialization action routine;

FIG. 4B is a portion of the operation routine;

FIG. 4C is a further portion of the operation routine including keyboardroutine;

FIG. 4D is the start key mode;

FIG. 4E is the set day routine;

FIG. 4F is the set station routine;

FIG. 4G is the set start time routine;

FIG. 4H is the fail safe loop;

FIG. 4I shows the manual operation loop;

FIG. 4J illustrates the zero index loop;

FIG. 4K is the individual active day mode; and

FIG. 4L depicts the start operation signal routine.

DESCRIPTION OF A PREFERRED EMBODIMENT

Referring now to FIG. 1, there is shown a representative solid stateirrigation controller 10 which comprises a power supply and logiccircuit having power input lines 12 connected thereto and adapted forconnection to an external source of power (e.g. 117 VAC) and a pluralityof output leads 14 adapted for connection to one or more irrigationsprinkler stations 16. A detailed description of the operation of powersupply and logic circuit 10 in conjunction with the operation ofsprinkler stations 16 is contained in the aforementioned U.S. Pat. No.4,165,532 to Kendall, et al. Some of the control signals and techniquesdescribed therein are advantageously incorporated in the instantinvention. The improvement of the instant invention lies in theinput/output controller 18 and the logic sequence associated therewithas described hereinafter. This improvement permits a flexible andindividual control over a large number of watering stations.

In particular, the system apparatus and hardware in the instantinvention comprises a 4, 6, 8, or 12 station, solid-state controllerwhich is to be complementary to any existing electromechanicalcontrollers. The unit is of solid state design and construction and iscapable of operating two valves per station in conjunction with a pumpcircuit. In one embodiment the data and recall are accomplished via thekeyboard 22 with visual readout by means of a light emitting display 20as described hereinafter.

The system is designed to operate on 24 or 110 volts (nominal) and at 50or 60 Hz. The station output is designed to be 24 volts AC (nominal) at50 or 60 Hz, as is the master valve or pump output. The input power andfrequency parameters are controlled by internal connections such asstraps on PC boards, connector blocks or the like. The strap optionpermits the selection of 4, 6, 8 or 12 station operation, as well. Eachof the stations has six independent, automatic start times per day. A 12or 14 day programming capability is determined by another strap optionincluded in the hardware of the system. The programmed operation of thesystem is then capable of factoring the 12 or 14 day option to selectoperable days every day, every second, third, fourth, sixth, or seventhday or every twelfth or fourteenth day. In addition, the system may beconverted from a real time clocking arrangement, including a.m. andp.m., to a 24-hour operating cycle, by strap option. This permits theoperator to adjust the clock to his time system. The system may also beprogrammed to operate each watering station for a fixed period of timeafter the event of a power failure using a strap to select an operatingtime of 0, 7, 12, or 25 minutes, for example. This permits a Fail-Safewatering cycle or sequence which has been customized by the operator interms of the duration of the Fail-Safe watering operation. The time ofzero minutes is important for drip watering systems of flower boxeswhich could be flooded after a power failure by a longer cycle. Theseven minute time is long enough to permit a typical sprinkler to makeat least two revolutions after a power failure.

As will be noted, the system is capable of a Cancel operation whichterminates the current watering cycle and returns the unit to automaticoperation. The system is further capable of a Cancel operation when inthe automatic mode (with no watering in process) in which future starttimes on the instant day are cancelled or eliminated. A Permanent Canceloperation included to cancel the operation of the system for an extendedduration and until manually restarted.

In describing the operation of the controller keyboard, various keys areshown. Each of these keys has a particular function. In particular, theSET TIME key is used to exit a fail safe watering condition, toestablish a time setting mode, and to display the current day or date.

The SET DAY key is used to establish the day setting mode included indetermining which day of the cycle is involved. This is also used toturn off stations which are to be inactivated that day.

The SET START TIME key is used to establish a start time program modeand to turn off the start time for that particular station.

The SET STA (Set Station) key is used to establish the station run timeprogram mode wherein the running or watering time is established. Inaddition, the key is used as an entry point for individual stationprogramming, active day, and active start time.

The PGM ADV (program Advance) key is used to step (i.e. advance) thesystem from one data entry point to another. For example, this key isused to advance from one station to the next station while programmingstation run times, sequence to next station in ordering sequence, and soforth.

The ADV HRS and ADV MIN keys are used to advance the hours and minutes,respectively, while setting the system and to advance automatically,while the key is depressed, at a rate of two hours per second or twominutes per second while setting the respective times during real time.

The CAN (Cancel) key is used to stop a watering cycle currently inprogress, to cancel the remaining cycle starts for the day and/or toprovide a Permanent Cancel operation by pressing the CAN key twice.(Incidentally, further activation of the CAN key will toggle from Cancelto Permanent Cancel).

The MAN (Manual) key is used to establish manual operation of thesystem.

The CLEAR key is used to clear any incorrect entry or information frommemory on any individual program step. This key can also be used toinactivate a particular station or day as will be described.

The START key is used to return the system to normal automatic operationafter an operational or input sequence, or to start a manual cycle, orto clear a Cancel (Permanent Cancel) input.

The ENTER key is used to enter data into memory while in the inputtingmode, or to reactivate an individual day or start time. These twelvekeys permit a greater range of program input than prior art systems dueto the logic circuit to be described below.

Continuing the reference to FIG. 1, power supply and logic circuit 10has an operator's panel 18 operably connected thereto. Operator's panel18 contains a multi-purpose, alpha-numeric display 20, an operator'skeyboard 22 having twelve switches 24, an "active day" indicator 26, anda switch 29 for manually turning off the controller outputs. In thepreferred embodiment of the present invention, as built and tested bythe assignee of the present invention, display 20 comprises an 8-digitpanel. Each of the digits is formed by a 7-segment, LED display.

Power supply and logic circuit 10 includes memory and logic means formaintaining a current real-time clock value indicating the time of dayas hours and minutes A(M) and P(M). That is, a day begins at 1200A andproceeds through 1159A; thence to 1200P through 1159P; and thence to1200A to begin once again. This operation is not required in the 24-houroption, however. Further, either a 12-day or a 14-day watering sequenceis maintained. That is, each time the real-time clock hour passes from1159P to 1200A (corresponding to midnight), the memory locationcontaining the day information is advanced by one. The day counterproceeds from 01 through 12 or 14 as determined by the strap optiondiscussed above. When the logic sequence finds that the current day isto be advanced from 12 to 13, (or from 14 to 15) the current day isreset to 01. Each day of the watering sequence is indicated as being an"active" (i.e. watering) day by the active day indicator 26 being lit oran "inactive" (i.e. non-watering) day when the indicator 26 is not lit.

Six memory locations within circuit 10 are available for storing (i.e.listing) times of day at which a sprinkler output sequence can beinitiated. As will be hereinafter developed in greater detail, the logiccircuitry within circuit 10 continually compares the entries on this"start time" list to the current time of day. If the particular day isan "active" day and watering on that day has not been cancelled by theoperator by techniques to be hereinafter described, each time a match isfound between the current time of day and an entry on the "start time"list, an output sequence is initiated. During an output sequence, theappropriate sprinkler stations 16 are turned on in sequence for theindividually preselected watering time, if they are "active" for theparticular start time and day. That is, station 1, if active, is turnedon for its time, then turned off and station 2, if active, 2 turned onfor its watering time, and so forth. When the last station watering timehas been completed, the logic sequence once again begins looking for amatch between the current time and the "start time" list entries. Itshould be understood that, with the system described herein, any or allof the individual watering stations can be turned on or turned off whendesired. That is, each individual station can be activated on a selectedday or days, at a selected time or times, and for a selected length oftime.

Referring now to FIGS. 2A through 2J, the operation of the display 20 inconjunction with the foregoing methods of operation is shown. In FIG.2A, display 20 is shown in the "normal" operation configurationdisplaying the TIME and DAY. Thus, the left-most four digits indicatethe time of day (1200-1159). The fifth position from the left indicatesA or P (AM or PM). The seventh and eighth positions indicate the day ofthe watering sequence (01-14). In this operation, the sixth position isblank. It is to be understood that the specific data described herein inconjunction with the present invention is that incorporated in thetested embodiment thereof and is not meant to be exclusive. Thus, a24-hour clock could be incorporated proceeding from 0001 through 2400with the elimination of the AM and PM indicators. Likewise, a differentnumber of days could be incorporated for the watering sequence.

For example, the display 20 has two digit positions dedicated to thecycle day which could be used for a 99-day watering sequence. However,the number of volatile memory locations available in the smallmicro-computers incorporated in such apparatus may be insufficient toallow the use of such large data quantities. Moreover, many residentialusers do not want such a far reaching control arrangement.

FIG. 2B shows the display 20 during the setting or changing of the timeof day (e.g., setting the real-time clock). Again, the left four digitsindicate the time of day (1200-1159) and the fifth position from theleft indicates A or P as previously described with relation to FIG. 2A.The sixth position is blank while the seventh and eighth positions ("theday section") are also blank. As will be seen hereinafter, this isimportant since all other functions are locked out while programming(re-parameterization of watering data in the system) takes place. Otherprogramming operations are readily apparent from the display as will beapparent from the description of FIG. 2C.

FIG. 2C shows the display 20 when a particular start time number isbeing entered for a particular time of day. In particular, the starttime for a particular valve (in this case start time number 6) isentered for 02A (which is equivalent to 2:00 A.M.). This entry isprovided after a station has been selected and the particular start timeis chosen. That is, as indicated above and described subsequently, eachstation has up to six start times during any particular day. In thiscase, the sixth start time (i.e. start time number 6) is selected to beat 2:00 in the morning. The start time is indicated in the fourth digitposition while the times are listed in the sixth, seventh, and eighthbit positions.

FIG. 2D shows display 20 when a particular station (in this case station01) is either running or having the run time entered. The run time (inthis case 45 minutes) is displayed when entered and when the station isoperating.

FIG. 2E shows display 20 when a particular station (in this case 02) iseither running or having the run time entered therein. However, in thiscase, the run time is 15 hours. This hour watering status is indicatedby including the symbol H in the sixth display position.

FIG. 2F shows the display when an individual station (station 01) isbeing set for a particular day (day 02). In order to render this stationactive, it is usually not required to activate the keyboard 22. However,in order to render station 1 inactive (i.e. non-watering) on day 2, itis usually necessary to press the Clear key in keyboard 22. This actionserves to turn out the active day light 26 (see FIG. 1) when this dayand station are later accessed, by the system. Similarly, it may bere-activated by pressing the Enter key. (The run time indicated inpositions four and five is of significance only when an active day isentered.)

FIG. 2G shows the display 20 when an individual station (01) has anactive start time (06) which is being set active at a pre-establishedstart time (02A). As will be discussed, this information is supplied byactivation of the Enter key at keyboard 22 for an active start time forthe station.

FIG. 2H depicts the display 20 when an individual station start time iscleared so that the start time is rendered inactive for this station. Inthis case, station 01, start time 6 is cleared (i.e. replaced by dashes)of a time (such as time 2 A.M. shown in FIG. 2G). The A or P will remainuntil the station and start time are later activated re-entered with anew start time established.

FIG. 2I shows display 20 when a "Cancel" operation has been activated bythe operation of the CAN key on the keyboard 22. The display 20 showsthe time of day the CAN key was operated and, also, displays thecharacter "C" to show that the Cancel operation has been ordered.

FIG. 2J depicts the display 20 when a Permanent Cancel function has beenactivated. The actual or real time is displayed, in this case 12:34P.M., but the characters P and C are displayed. A Permanent Canceloperation is achieved by operating the CAN key twice in succession. APermanent Cancel is used when it is desired to suspend the automaticwatering sequence for an extended time duration.

Referring now to FIG. 3, there is shown a three dimensional graphicrepresentation (matrix) of the operation of the integrated solid-statecontroller of the instant invention. In particular, the chart indicatesthe operation up to 12 stations (station number) for up to 14 days (day)with up to 6 start times (start time no.) per station per day. As shownin the chart on FIG. 3, a particular station, for example, stationnumber 2 can be rendered operative each day of the operating cycle ofthe controller, for example, 14 days. In addition, this station can berendered operative for up to 6 start times each day of the cycle. Inthis particular example, if the run time is set to be 30 minutes for 6consecutive start times, station number 2 would be operative a total ofthree hours for any active day, therefore, a run time of approximately30 minutes (more or less) on station number 2 can be turned on 6 times aday for 14 days wherein heavy watering can take place. In similarfashion, station number 1 can be turned on twice, start times 1 and 4,on every other day, in this example the even numbered days.

At the other extreme of the controller operation, station number 12 isturned on only at start time number 6 on day number 14 of the operatingcycle. Thus, a single start time for any particular station during a 14day cycle can be achieved as well as a multiple start time on multipledays during the cycle.

Of course, any particular station can be rendered totally inactive forall of the start times of the entire cycle. However, this is a conditionwhich would not be used very often. Nevertheless, it can be seen fromthe chart representation in FIG. 3 that a great flexibility andvariability in control of operation can be achieved with the controllerof the instant invention. This flexibility was not present in prior artirrigation controllers such as that shown in U.S. Pat. No. 4,189,776.

Referring now to FIGS. 4A through 4L collectively, there is shown a flowchart which describes the operation of the irrigation controller of theinstant invention. For convenience, the operation is broken down intovarious routines and subroutines which define the operation of thedevice and portions thereof.

Referring in particular to FIG. 4A, there is shown the initializationaction routine of the controller. In particular, when the operationstarts as, for example, by operation of a start button, the systemimmediately begins to initialize all of the system parameters such assetting certain values to zero or the like. This includes a reading ofeach of the option straps noted above. That is, the circuit determineswhether the 50 Hz or 60 Hz operation has been selected. Also, the numberof stations, the 24/12 hour mode, the 12/14 day mode. Other parametersare controlled in a similar fashion. The initialization parameters (INITPARAMS) and the runtime initialization (RUNTIME INIT) are all read andincluded into the initialization operation. The information relative tothese various options is stored in the appropriate memory location. Withthis operation, the system then checks for memory error by comparing thememory location to the strap configuration and updating as required. Ifthere is a memory error, the system returns to the initialization stageand performs this operation again.

If there is no memory error, the system is operative to update the realtime clock and the date as needed. This update is typically produced onthe 12/24 hour mode, the 12/14 day cycle, the exit cancel, on a new dayand so forth. The updating of the real time clock and date is,typically, performed under operator control.

The system then checks to see if the AC power is on or not. The prioroperations can be performed under battery powered operation. If the ACpower is not on, the system recycles, under the battery power, to againread each of the option straps. The battery power keeps track of realtime and retains the function of the system before failure in thememory, that is, watering or not watering, etc. This operation isextremely important and advantageous in that prior art devicesfrequently omitted to do this operation wherein false information couldbe stored in the system after a power outage or interruption or thelike. If the AC power is not on, all output and display circuits aredisabled in order to preserve power.

Once the AC power is restored, after a power failure or interruption,the system continues to recycle and check for an error. If an error isfound, the system is set to 12:00 p.m. Thereafter, the system is clockeduntil 12:00 a.m., at which time a fail-safe watering sequence isinitiated. That is, a 0, 7, 12, or 25 minute long watering time isautomatically programmed to each watering station per day depending onwhere the runtime initiation strap is placed within the controller.

If no error is found, this indicates that the alternate power source orbattery kept the system clock at the correct time and retained a memoryof any ongoing function prior to failure. In this mode, the systemreturns to the previous function. For example, if a sprinkler stationwas in the process of watering, that station's cycle would be completedalong with the remaining stations in the sequence. Thereafter, the realtime clock is updated by adding the time the controller was without ACpower. In this manner all watering cycles for subsequent days afterpower failure are uneffected.

If the AC power has been on without failure or interruption, then akeyboard input is detected. As part of the keyboard input detectionoperation, a keyboard security check is also made. This check isutilized to determine whether or not any erroneous keyboard entries havebeen made, for example, a multiplicity of entries or keyboard bounce orthe like. If a keyboard input is not detected, the system checks to seeif there is a cycle in progress. If not, the system checks to determineif a manual flag signal has been set. Again, if not the system checks tosee if the flag set has been cancelled. If not, the system then goes tothe operation cycle shown in FIG. 4B as described hereinafter.

On the other hand, if the keyboard input is present when checked, thesystem operation switches to the cycle shown in FIG. 4C. In similarfashion, if a cycle in progress is detected, the system switches to theoperating cycle shown in FIG. 4B.

In similar fashion, if the manual flag signal has been set the circuitoperation switches to the cycle shown in FIG. 4B.

Also, if the Cancelled Flag Set signal is detected, the system isinstructed to display the time and the cancel designator, i.e. "C" andto repeat the cycle shown in this figure by returning to the read stepwherein each of the option straps is read (see the circled A inputstep). If the Cancel Flag Set signal is not detected, the system then isinstructed to proceed to the operating routine which is set forth inFIG. 4D.

Referring to FIG. 48 the station evaluation of a portion of theoperation is shown. This portion of the operation continues from theoperation described in FIG. 4A. In particular, if the cancelled flag sethas not occurred, a signal is supplied from the logic circuit portionindicated in FIG. 4A to cause the display to show the time of day andthe day in the cycle of the system. The system then evaluates the dayindication to determine if this is an active day, i.e. a day in whichthe system is operative to produce watering. If it is not an active day,the system is instructed to turn off the active day indicator and toreturn to the operation cycle relative to FIG. 4A.

Conversely, if the day is an active day, the system is instructed toturn on the active day indicator and to determine whether any starttimes match with the time of day which is displayed. If there are nomatches between the indicated time and the start times, the system isinstructed to return to the operation shown in FIG. 4A. If there is amatch between any of the start times and the time indicated in thedisplay, the system is instructed to "bump" the index to the nextstation so that the next station is stored in the system for futureoperation along the lines previously described.

When the index has been bumped to the next station, a one shot wateringcycle is initiated. If a one shot (or one time) cycle has beentriggered, the system is instructed to turn off the pump and stationand, as well, to clear the "cycle in progress flag" from the logiccircuitry and then to return to the operating cycle as shown in FIG. 4A.

Conversely, if a one shot watering cycle had not occurred, the system isdirected to determine whether the last station in the system is finishedits operation. If the last station has completed, the system is againinstructed to turn off the pump and station, to clear the cycle inprogress flag and to return to the initial operation as indicated inFIG. 4A.

On the other hand, if the last station is not done, the system isinstructed to turn on the station which is next in line, and to initiatethe automatic start for the cyclic operation of the circuit.

Also, shown in FIG. 4B is the current operation of the system whereinthe operation in FIG. 4A is also controlling. That is, if the "cycle inprogress" interrogation was positive, FIG. 4A, the system is instructedto determine if the run time is complete. If the run time is complete,the system is instructed to bump the index to the next station and toproceed with that portion of the operation as previously noted.

Conversely, if the run time has not been completed, the system performsan interrogation wherein it is determined whether one minute has passed.If the minute has not passed, and the run time is not complete, thesystem is instructed to return to the cyclic operation shown in FIG. 4A.On the other hand, if one minute has passed, the system is instructed toincrement the elapsed run time counter by one and to then return to thesystem operation format as shown in FIG. 4A.

Also, referring to FIG. 4B, once the auto start decision has been made,the system is instructed to determine if a valid individual start timeis present. If not, the system then bumps the index to the next stationand proceeds along the operating cycle shown.

On the other hand, if a valid individual start time is provided, it isdetermined whether a valid individual active day is currently provided.If not, the system is once again instructed to bump the index to thenext station and proceed along those lines. If the valid individualactive day is detected, the system is instructed to turn on the pump,set the cycle in progress flag and then return to the initializationoperation shown and described in FIG. 4A.

If the auto start is not detected, the system is instructed to turn onthe pump, set the cycle in progress flag and return to theinitialization process of FIG. 4A as if a manual operation is inprogress.

The reader should understand that the signals provided by the validindividual start time and valid individual active day means areimportant in establishing a flexible controller which is capable ofcontrolling each individual watering station. The matching of the validindividual start time and valid individual active day with the real timeclock at the start times match mode requires but a simple yes or no.This reduces the amount of information stored within the memory of thecontroller system as it requires but one bit of memory.

Referring now to FIG. 4C, there is shown a further portion of theoperation of the circuit of the instant invention. In this instance, thecircuit operation is initiated from the circuit of the operation shownin FIG. 4A if and when a keyboard input has been detected in theinitialization operation. If the keyboard input is detected, the systemthen determines whether a program advance has been selected at thekeyboard. If the answer is yes, the circuit operation is as described inFIG. 4B. If the program advance is not selected, the system determineswhether a Cancel signal has been applied to the circuit operation. Ifthe Cancel signal has been supplied, the system is instructed to turnoff the pump and stations, clear the cycle in progress flag and returnto the initialization operation shown in FIG. 4A. This is usually asituation wherein the operator of the system has manually inserted acancel signal.

If the cancel signal is not detected, the circuit operation follows asis described in FIG. 4D.

Continuing with the operation as depicted in FIG. 4C, if the cycle inprogress is not detected, the system immediately checks to see if anerror has been detected and the system is operating in the "error mode".If the error mode is detected, the system makes the decision as towhether a clear signal has been selected by the operator. If the clearhas been selected, the system is instructed to stop the display fromblinking and to proceed to the initialization circuit operation as shownin FIG. 4A. Conversely, if the clear signal has not been selected, thesystem is directed to immediately to return to the initializationprocedure of FIG. 4A and the display continues to blink.

Returning to the error mode detection, if the error mode is notdetected, the system is instructed to operate in the save mode and toset the zero index signal immediately. After this, the system determineswhether the set day mode has been selected. If it has, the circuit isinstructed to go to the keyboarding operation cycle shows and describedrelative to FIG. 4E. In the event that the set day mode is notoperative, the system then checks to see if the set station mode isoperative. In the event that the system is in the set station mode, thesystem operates as shown and described in FIG. 4F.

If the system is not in the set station mode, it is then checked for theset start time mode. If the system is in this mode of operation, thesequence shown and described relative to FIG. 4G is followed.

In the event that the start time mode is not pertinent, the systemchecks the set time mode. If the system is in the set time mode, thesystem follows the operating routine shown and described in FIG. 4H.

If the system is not in the set time mode of operation, the system thenchecks to see if the system is in the manual mode of operation. If thisis the case, the system then follows the operation which is shown anddescribed in FIG. 4I. If the system is not in the manual mode, thesystem checks to see if the Cancel key has been depressed. If the Cancelkey has been depressed by the operator, the system checks to see if a"C" is already displayed. If the answer is yes, the system is theninstructed to enter a Permanent Cancel mode and to place a "PC" in thedisplay. The system then is instructed to set the day in question toinactive and to return to the initialization operation shown in FIG. 4A.

If the "C" is not already in the display, the system is instructed toenter in the cancel mode and to display a "C" at the display unit. Thesystem then proceeds to set the day to inactive and returns to theinitialization routine shown in FIG. 4A.

In the event that the system does not detect a Cancel key operation, thesystem is instructed to determine whether a start key has been operated(see FIG. 4D). If the start key has been operated, the system isinstructed to clear the cancel mode flag and return to theinitialization routine shown and described in FIG. 4A. In the event thatthe start key has not been activated (a non valid key depressedelsewhere), the system is instructed to set the error mode flag and tocause the display to blink and then return to the initializationoperation routine as shown in FIG. 4A.

Referring now to FIG. 4E, there is shown the circuit operation of theSet Day routine which is initially triggered if the set day mode hasbeen detected in the proceding mode of operation. This mode ofoperation, which is indicative of setting the active days of operationof the system.

In this mode of operation, the system first checks to see if a clearsignal has been given by the operator at the keyboard. If the clearsignal has been presented, the system is instructed to set this day,i.e. the day which is currently displayed to inactive. The circuit alsosets all individual active days to the inactive status and also turnsoff the active day indicator and returns, turns to the initializationroutine shown in FIG. 4A. This indicates that the system has beencleared by the operator and any prior information is overridden.

If the clear signal has not been detected, the system determines whetheran enter signal has been provided by the keyboard operator. If such anenter signal has been provided, the system is instructed to set thecurrent day to active, and to set all individual active days to active,to turn on the active day indicator and then return to theinitialization operation routine shown in FIG. 4A.

If an enter signal has not been provided, the system checks to see ifthe program advance has been entered by the operator. If the answer isyes, the system is instructed to increment the day number and to checkto see if the day number is greater than the maximum permitted (i.e. 12or 14 days). If the maximum has been exceeded, the system is instructedto set the day equal to one and then to jump to the display routinewhich will be described hereinafter. Conversely, if the day is notgreater than the maximum, the system immediately jumps to the displayroutine noted and described above.

In the event that a program advance signal has not been entered bykeyboard operation, the system is instructed to check to see if a Startsignal has been entered. If a start signal has been supplied, the systemis then instructed to copy the day (i.e. the number of the day in thecycle) into the real-time clock operation. When this is accomplished,the system immediately jumps to the display operation shown in FIG. 4B.

Conversely, if the Start signal has not been entered the system isinstructed to see if the zero index has been detected. If it has, thesystem is instructed to display only the day number. The system is theninstructed to turn on the indicator if the day in question is an activeday and to turn off the indicator if the day in question is an inactiveday. The system is then instructed to return to the initialization loopshown and described in FIG. 4A.

If the zero index has not been activated, the system is instructed toreturn to the loop shown in FIG. 4D and to set the error mode flag,blink the display and then return to the initialization loop of FIG. 4A.

Referring now to FIG. 4F, there is shown the operating loop forperforming the set station routine. This operation loop is initiatedwhen the set station mode test (see FIG. 4C) indicates a positiveresponse. Thus, when this positive response is detected, the system thendetermines whether the individual active day mode is in operation. Ifthe answer is yes, the system is instructed to go to the program advancemode which is shown in FIG. 4K described hereinafter.

If the individual active day mode is not active, the system determineswhether the apparatus is in the individual start time mode. If theanswer is yes, the system is instructed to go to the start operationshown in FIG. 4L.

If the individual start time mode is negative, the system is instructedto determine if the program advance operation has been initiated. If theanswer is yes, the system then switches to the operation shown in FIG.4I.

If the Program Advance signal has not been generated, the system isinstructed to check to see if the advance minutes signal has been set.If it has, the system is instructed to set the run time mode to theminutes and clear the hours (H) from the display. The system thendetermines whether a time interval of 1/2 second has expired. If theanswer is no, the system is instructed to return to the initializationcircuit shown in FIG. 4A. If the 1/2 second has expired, the system isinstructed to increment the run time index and to reset after themaximum signal has been reached. Thereafter, the system is instructed todisplay the station number and run time and to return to theinitialization loop shown in FIG. 4A.

If the Advance Minutes signal was not set, the system determines whetherthe advance hours signal is provided. If it has been, the system isinstructed to set the run time mode to hours and to display an H at thedisplay area. The system is then instructed to determine if the 1/2second time has run (as was the case in the preceding description). Ifthe 1/2 second is not up, the system is instructed to return to theinitialization loop shown in FIG. 4A. If the 1/2 second time is up, thesystem is instructed to increment the run time index and to reset whenit has reached the maximum. Thereafter, the system is instructed todisplay the station number and the run time and return to theinitialization loop in FIG. 4A.

If the Advance Hours signal has not been provided, the system isinstructed to determine if the enter signal has been supplied. If theenter signal has not been supplied, the system is instructed to save orretain the run time and then to initialize the individual start timesand return to the initialization loop of FIG. 4A.

If the Enter signal has not been supplied, the system determines if theclear signal has been supplied. If it has, the system is instructed toset the run time to zero and to retain the run time and to display thestation number and run time and return to the initialization loop inFIG. 4A.

If the Clear signal has not been supplied, the system is instructed tocheck to see if the set day signal has been supplied. If it has, thesystem is instructed to set the individual active day mode flag, to setthe day to zero and then to transfer to the individual active dayroutine shown in FIG. 4K.

Alternatively, if the set day signal has not been provided, the systemchecks to see if the set start time signal has been provided. If it has,the system is instructed to set the individual start time mode flag andto set the start time index to 2 and then to switch to the loopoperation shown in FIG. 4L. If the set start time is not provided, thesystem is instructed to see if the start signal has been provided (seeFIG. 4J). If it has, the system is instructed to switch to the zeroindex loop shown in FIG. 4J.

If the Start signal has not been supplied, the system is instructed tocheck the zero index. If the zero index has been activated, the systemis instructed to set the station number to 1, to display the stationnumber and run time and return to the initialization loop shown in FIG.4A. If the zero index signal is not shown (see FIG. 4D), the system isinstructed to set the error mode flag, blink the display and return tothe initialization loop in FIG. 4A.

Referring now to FIG. 4G, there is shown the Set Start Time routinewhich is activated when the system has detected that a Set Start Timemode signal is generated as shown in FIG. 4C. In the loop shown in FIG.4G, the system is instructed to see if the advance hours signal is set.If it has been set, the system checks to see if the 1/2 second timeperiod has elapsed. If not, the system is instructed to return to theinitialization system shown in FIG. 4A. If the 1/2 second time hasexpired, the system is instructed to increment the start time usingeither the 12 or a 24 hour mode as was determined during theinitialization step and by the strap signals and the like. The system isthen instructed to display the start time number and the start time andreturn to the initialization loop shown in FIG. 4A.

If the Advance Hours signal is not detected, the system is instructed toevaluate the enter signal status. If an enter signal has been supplied,the system is instructed to save the start time, display the start timenumber and to return to the initialization loop shown in FIG. 4A.

If the Enter signal has not been supplied, the system is instructed tocheck the clear signal status. If the clear signal is provided, thesystem is instructed to disable the start time, show two dashes for a24-hour mode or two zeros for a 12-hour mode and return to theinitialization loop shown in FIG. 4A.

If the Clear signal has not been detected, the system checks the statusof the Program Advance signal. If the Program Advance signal isprovided, the system is instructed to point to the next start time andto determine whether the start time is greater than the maximum or not.If it is not, the signal immediately displays the start time number andthe start time and returns to the initialization loop. If the start timeis greater than the maximum, the system is instructed to set the starttime number back to 1 and then to display the start time number andstart time and return to the initialization loop.

If the Program Advance signal has not been generated, the system isinstructed to evaluate the start signal status. If the start signal hasbeen provided, the system returns to the display loop shown in FIG. 4B.If the start signal has not been provided, the system checks the zeroindex status. If the zero index has been reached, the system isinstructed to set the start time number to 1, display the start timenumber and the start time and return to the initialization circuit shownin FIG. 4A. If the zero index has not been supplied, the system isinstructed to set the error mode flag, blink the display and return tothe initialization loop shown in FIG. 4A.

Referring now to FIG. 4H, the fail-safe loop is shown. This is the loopto which the system goes if the Set Time mode is activated as shown inFIG. 4C. The system immediately detects if it is operating in thefail-safe mode or not. If not, the apparatus switches immediately to asubsequent step in this loop as will become apparent subsequently.

If the fail-safe mode is operative, the system is instructed to clearthe fail-safe mode flag and then determine whether the initializationstrap is in place. If it is, the system jumps ahead as describedhereinafter. If the initialization strap is not in, the system isinstructed to clear all individual active days, start times, run timesand the like and then to check to see if the advance minutes system hasbeen set. This is the same place in the loop where the fail-safe testand the initialization strap test have jumped if the conditions aredetected.

If the Advance Minute signal is activated, the system then checks to seeif the 1/2 second duration is up. If not, the system reverts to theinitialization loop shown in FIG. 4A. If the 1/2 second is up, thesystem is instructed to increment the minutes and reset on 60 and thento proceed to display the temporary time and then return to theinitialization loop.

If the Advance Minutes signal was not activated, the system determineswhether the Advance Hour signal is activated. If it is, the system isinstructed to make the same test of the expiration of the 1/2 second. Ifnot, the system returns to the initialization loop. If the 1/2 secondhas expired, the system is instructed to increment the hours in the12-hour or 24-hour mode and to reset at midnight, to display thetemporary time and return to the initialization loop.

If the Advance Hours signal is not activated, the system is instructedto set the Save-Time-To-Real-Time counter and to return to theinitialization loop if the enter signal has been supplied. If the Entersignal has not been supplied, the system is instructed to set thedisplay to all zeros for a 24-hour operation or to 1200A for 12-houroperation if the clear signal has been supplied. In that case, thesystem is also instructed to display the temporary time and return tothe initialization loop shown in FIG. 4A.

If the Clear signal is not sat, the start signal is examined. If it issupplied, the system returns to the display loop shown in FIG. 4B. Ifnot, the system checks to see if the zero index signal is supplied. Ifit has been, the system is instructed to set the temporary time to realtime and then to display the temporary time and return to theinitialization loop. If the zero index signal is not applied, the systemreturns to the loop shown in FIG. 4D and sets the error mode flag,blinks the display and then returns to the initialization loop.

Referring now to FIG. 4I, the manual operation loop is shown. This isthe operating loop which is selected when the Manual mode switch isoperated as suggested in the loop in FIG. 4C.

When the Manual mode is initiated, the system is instructed to check theclear signal. If a Clear signal is supplied, the circuit returns to thedisplay loop shown in FIG. 4B. If a Clear signal is not provided, thesystem next checks the Program Advance signal. If the Program Advancesignal is supplied either from this loop or from the loop shown in FIG.4F, the system is instructed to bump the index by one and then to see ifthe index equals the station plus one. If not, the system is instructedto display the station number and the run time and to then return to theinitialization stage in FIG. 4A. On the other hand, if the index stationis equal to the station plus one, the system is instructed to reset tostation 1, display the station number and the run time and to thenreturn to the initialization loop of FIG. 4A.

If the Program Advance signal is not provided, the start signal ischecked. If the Start signal is supplied, the system is instructed tostore the index for the run mode use and then to set the Manual Flag andreturn to the initialization loop shown in FIG. 4A.

If the Start signal is not provided, the system is instructed to checkthe advance minute signal. If this signal is provided, the system checksto see if the 1/2 second has elapsed. If it has not, the system returnsto the initialization loop. If the 1/2 second has elapsed, the system isinstructed to advance the list minutes (stored in internal memory) byone and to go to the subloop to determine if the list number equals themaximum plus one. If not, the system is instructed to set the one shotmode flag, display the station number and run time and then to return tothe loop shown in FIG. 4A. If the maximum plus one signal is yes, thesystem is instructed to reset to the first step and then perform the setone shot mode flag operation described above.

If the Advance Minutes signal is not supplied, the advance hours signalis examined. If it is present, the system is instructed to see if a 1/2second has elapsed. If not, the system returns to the initializationloop shown in FIG. 4A. If it has occurred, the system is instructed toadvance the list hours by one and then to enter into and follow themaximum plus one test loop described relative to the minutes operation.

If the Advance Hours system is not present, the system is instructed toevaluate the zero index signal. If it is present, the system isinstructed to display the station number and run time and then return tothe initialization program in FIG. 4A. If the zero index signal is notprovided, the system is instructed to set the error mode flag, blink thedisplay and return to the initialization program.

Referring now to FIG. 4K, there is shown routines which are utilizedwhen the system has indicated that an individual active day mode is ineffect or if a Set Day signal has been provided in the absence of, interalia, the individual active day mode.

The first mentioned mode of operation, the system first checks to see ifthe program advance signal has been activated. If it has, then thesecond mentioned routine is entered into. If the program advance signalhas not been produced, the system checks to see if the day number equalszero. If it does, a jump to a start operation is performed as will bedescribed hereinafter. If the day equals zero signal is not set ordetected, the system determines whether an enter signal has beensupplied or not. If the enter signal has been supplied, the system isinstructed to set this individual day to active and turn on the activeday indicator and to then return to the initialization routine shown inFIG. 4A.

If the Enter signal is not detected, the system checks to see if theClear signal has been entered. If the Clear signal has been entered, thesystem is instructed to set this individual day to inactive, turn offthe active day indicator and proceed to the initialization routine shownin FIG. 4A.

If the Clear signal is not presented, the system checks to see if theSet Station signal is provided. If this is the case then the system isinstructed to clear the IAD or (Individual Active Day) mode flag, clearthe day from the display and proceed to the initialization routine shownin FIG. 4A. If the Set Station signal is not provided, the system goesto the start routine to which the system would have jumped had the dayequalled zero signal been detected as described above.

In this instance, the Start signal is interrogated. If the Start signalhas been supplied, the system is instructed to clear the IAD mode flagand to proceed to the operation as shown and described in FIG. 4B.Conversley, if the start signal has not been detected, is the systemchecks to see if the Set Start Time signal has been selected. If it has,the system is instructed to clear the IAD day mode flag and to set theIndividual Start Time (IST) mode flag and then begin the start routineas shown in FIG. 4L. If the Set Start Time signal is not detected, thesystem is instructed to set the error mode flag, blink the display andgo to the initialization routine as shown in FIG. 4A and 4D.

As noted, the routine shown in FIG. 4K also is activated when a Set Daysignal has been detected and the system has set the individual activeday mode flag and set the day to zero. The system then detects whetherthe day number equals maximum signal has been detected. It should benoted that this test is controlled by an input from the strap optionsportions of the circuit which indicate whether a 12 or 14-day mode ofoperation is under way. If the day equals max signal is generated, thesystem is instructed to reset the day to zero and to detect if any daysare active. If no days are active, the system is instructed to clear IADday mode flag and proceed to the display routine shown in FIG. 4B.

Conversely, if a day not equal to maximum signal is detected, the systemis instructed to proceed to increment the day and display and then todetermine if an active day is involved. If the answer is no, the systemis instructed to recycle to determine if the day equals maximum and soforth as described above. If on the other hand, the active day signal isdetected, the system is instructed to determine whether this is anindividually active day. If the answer is yes, the system is instructedto turn on the active day indicator and proceed to the initializationroutine shown in FIG. 4A. Conversely, if the individual day activesignal is negative, the system is instructed to turn off the active dayindicator and then proceed to the initialization stage shown in FIG. 4A.

Referring now to FIG. 4L, the system is instructed to determine whethera Start signal has been supplied. If it has, the system is instructed toclear the individual start time mode flag and return to the displayroutine shown in FIG. 4B.

Conversely, if the Start signal is not provided, the system isinstructed to determine if a Set Station signal has been supplied. If ithas, the system is instructed to clear the IST mode flag and to restorethe display for the set station and then to begin the initializationprogram cycle shown in FIG. 4A. Conversely, if the Set Station signal isnot detected, the system is instructed to see if the Set Day signal hasbeen supplied. If it has, the system clears the IST mode flag, sets theIAD mode flag, sets the day to zero and returns to the day maximum cycledescribed in FIG. 4K.

If the Set Day signal is not supplied, the system checks to see if theProgram Advance signal has been supplied. If it has, the system isinstructed to increment the start time number and then to determine ifthe start time is greater than the maximum permitted. If not, the systemis instructed (see FIG. 4F) to display the station number and run timeand return to the initialization cycle shown in FIG. 4A. If the starttime is greater than the maximum, the system checks to see if the runtime is in hours. If it is, the system is instructed to reset the starttime number to 2. If the run time is not in hours, the system isinstructed to reset the start time number to 1. In either case, afterthe reset start time operation has been carried out, the system isinstructed to display the station number and run time and then to returnto the initialization cycle.

In the event that the Program Advance signal was not displayed as notedabove, the system checks to see if a Clear signal has been provided. Ifthe Clear signal has been provided, the system is instructed todetermine whether the start time number is 1. If it is, the systemreturns to the initialization cycle as before. If the start time numberis not 1, the system is instructed to set the start time to inactive,put dashes in the display and then return to the initialization program.

If the Clear signal is not detected, the system determines whether anEnter signal has been provided at the keyboard. If it has not, thesystem is instructed to set the error mode flag, blink the display andreturn to the initialization program. If the enter signal is provided,the system determines whether the start time number is 1. If it is, thesystem returns to the initialization program. If the start time numberis not 1, the system is instructed to set the start time to active,display time and then return to the initialization program.

Thus, there is shown and described a new and unique and much improvedsystem for controlling irrigation systems and apparatus. The systemshown and described is capable of a far more discrete and detinitivecontrol of an irrigation apparatus. The control can be very finelydefined in terms of numbers of starting times, number of stationscontrolled, and duration of irrigation times on any number of days. Alarge "matrix" of start times and operating times is achievable withthis apparatus.

The description is directed to specific types of circuitry and controlsystems. It is clear that those skilled in the art will be able toproduce or conceive modifications to the system and operation as shownand described. However, any such modifications which are provided bythose skilled in the art and which fall within the purview of thisdescription, are intended to be included therein as well. Thisdescription is intended to be illustrative only and is not intended tobe limitative. Rather, the scope of the invention is limited by theclaims appended hereto.

I claim:
 1. An improved irrigation controller for individually andautomatically controlling water flow to a plurality of individualwatering stations in accordance with a programmed watering schedule overa period of days, said controller including a singlemechanically-operated key for cancelling all scheduled watering if saidkey is activated twice while no watering is taking place, for cancellingjust the watering scheduled to take place on a particular day, but notthe watering scheduled to take place on any subsequent day, if said keyis activated once on that particular day while no watering is takingplace and, for cancelling just the watering taking place on a particularday, but not the watering scheduled to thereafter take place on that orany subsequent day, if said key is actuated once on that particular daywhile watering is taking place.
 2. The improved irrigation controller ofclaim 1 further including a display for displaying a first visualindicia upon a single actuation of said key and for displaying a secondvisual indicia upon two actuations of said key, said first and secondvisual indications being different.
 3. The improved irrigationcontroller of claim 2 wherein said first visual indication is a "C" andwherein said second visual indication is a "PC."